#pragma once

#include <windows.h>
#include <gl\gl.h>
#include <gl\glu.h>

#include "IResources.h"
#include "IAutoLoadResources.h"
#include "Texture.h"
#include "TextureLoader.h"

#include <string>
#include <map>

class TexturesManager : public IResources<Texture*>, public IAutoLoadResources
{
private:
	std::map<std::string, Texture*> textures;

public:
	TexturesManager(void);
	~TexturesManager(void);

	void Load(const char *path, const char *ext);
	void Add(const char *name, Texture *res);
	Texture * Get(const char *name);

	int GetCount();
	void Get(int i, char *name, Texture *&res);
};
